[INFO] cloning repository https://github.com/babel3-com/b3
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/babel3-com/b3" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbabel3-com%2Fb3", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbabel3-com%2Fb3'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7c64cc363984df80dfb2244b1f652221f31ac883
[INFO] checking babel3-com/b3 against try#b66808126f24f2f30898306a881e1676824ea80c for pr-133502-23
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbabel3-com%2Fb3" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/babel3-com/b3
[INFO] finished tweaking git repo https://github.com/babel3-com/b3
[INFO] tweaked toml for git repo https://github.com/babel3-com/b3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/babel3-com/b3 on toolchain b66808126f24f2f30898306a881e1676824ea80c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/babel3-com/b3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324
[INFO] running `Command { std: "docker" "start" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324" "/opt/rustwide/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324" "/opt/rustwide/cargo-home/bin/cargo" "+b66808126f24f2f30898306a881e1676824ea80c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking polyval v0.6.2
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]     Checking ghash v0.5.1
[INFO] [stderr]     Checking ctr v0.9.2
[INFO] [stderr]     Checking aes v0.8.4
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking data-encoding v2.10.0
[INFO] [stderr]     Checking aes-gcm v0.10.3
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking hkdf v0.12.4
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]     Checking x25519-dalek v2.0.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling bindgen v0.71.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling cpp_common v0.5.10
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]    Compiling cpp_build v0.5.10
[INFO] [stderr]     Checking serial-core v0.4.0
[INFO] [stderr]     Checking b3-reliable v0.3.727 (/opt/rustwide/workdir/crates/b3-reliable)
[INFO] [stderr]     Checking ioctl-rs v0.1.6
[INFO] [stderr]     Checking termios v0.2.2
[INFO] [stderr]    Compiling openssl-src v300.5.5+3.5.5
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking serial-unix v0.4.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tungstenite v0.24.0
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking tokio-tungstenite v0.24.0
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking xattr v1.6.1
[INFO] [stderr]     Checking b3-tunnel v0.3.727 (/opt/rustwide/workdir/crates/b3-tunnel)
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking nix v0.25.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking serial v0.4.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking filedescriptor v0.8.3
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking tar v0.4.44
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking webrtc-sdp v0.3.13
[INFO] [stderr]     Checking b3-common v0.3.727 (/opt/rustwide/workdir/crates/b3-common)
[INFO] [stderr]     Checking gethostname v0.4.3
[INFO] [stderr]    Compiling b3-gpu-relay v0.3.727 (/opt/rustwide/workdir/crates/b3-gpu-relay)
[INFO] [stderr]     Checking portable-pty v0.8.1
[INFO] [stderr]    Compiling datachannel-sys v0.23.0+0.23.2
[INFO] [stdout] warning: unused variable: `b_to_a`
[INFO] [stdout]     --> crates/b3-reliable/src/channel.rs:1424:36
[INFO] [stdout]      |
[INFO] [stdout] 1424 |         let (mut a, mut b, a_to_b, b_to_a) = mock_channel_pair();
[INFO] [stdout]      |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_b_to_a`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_channel_pair` is never used
[INFO] [stdout]    --> crates/b3-reliable/src/crypto.rs:548:8
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn make_channel_pair() -> (EncryptedChannel, EncryptedChannel) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking b3-cli v0.3.727 (/opt/rustwide/workdir/crates/b3-cli)
[INFO] [stdout] warning: field `seq` is never read
[INFO] [stdout]    --> crates/b3-cli/tests/session_allocation.rs:271:26
[INFO] [stdout]     |
[INFO] [stdout] 271 |         SessionUpdated { seq: u64 },
[INFO] [stdout]     |         --------------   ^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TestEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> crates/b3-cli/src/commands/child.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Notify`
[INFO] [stdout]   --> crates/b3-cli/src/daemon/server.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::{broadcast, Mutex, Notify};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> crates/b3-cli/src/daemon/web.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::sync::{broadcast, RwLock, Mutex};
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> crates/b3-cli/src/commands/child.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> crates/b3-cli/src/bridge/puller.rs:1754:9
[INFO] [stdout]      |
[INFO] [stdout] 1754 |     use super::*;
[INFO] [stdout]      |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WebState`
[INFO] [stdout]     --> crates/b3-cli/src/bridge/puller.rs:1771:48
[INFO] [stdout]      |
[INFO] [stdout] 1771 |         use crate::daemon::web::{ChannelEvent, WebState};
[INFO] [stdout]      |                                                ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Notify`
[INFO] [stdout]   --> crates/b3-cli/src/daemon/server.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tokio::sync::{broadcast, Mutex, Notify};
[INFO] [stdout]    |                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]   --> crates/b3-cli/src/daemon/web.rs:25:38
[INFO] [stdout]    |
[INFO] [stdout] 25 | use tokio::sync::{broadcast, RwLock, Mutex};
[INFO] [stdout]    |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/b3-cli/src/commands/start.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let config = Config::load().unwrap_or_else(|_| Config {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `n` is never read
[INFO] [stdout]    --> crates/b3-cli/src/commands/start.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let mut n = 0usize;
[INFO] [stdout]     |                 ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 346 |                 n = bytes;
[INFO] [stdout]     |                 --------- `n` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daemon_token`
[INFO] [stdout]     --> crates/b3-cli/src/mcp/b3.rs:1321:9
[INFO] [stdout]      |
[INFO] [stdout] 1321 |     let daemon_token = daemon_api_key();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daemon_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> crates/b3-cli/src/commands/start.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     let config = Config::load().unwrap_or_else(|_| Config {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `n` is never read
[INFO] [stdout]    --> crates/b3-cli/src/commands/start.rs:339:17
[INFO] [stdout]     |
[INFO] [stdout] 339 |     let mut n = 0usize;
[INFO] [stdout]     |                 ^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 346 |                 n = bytes;
[INFO] [stdout]     |                 --------- `n` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `daemon_token`
[INFO] [stdout]     --> crates/b3-cli/src/mcp/b3.rs:1321:9
[INFO] [stdout]      |
[INFO] [stdout] 1321 |     let daemon_token = daemon_api_key();
[INFO] [stdout]      |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_daemon_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pty_writer`
[INFO] [stdout]     --> crates/b3-cli/src/bridge/puller.rs:1100:5
[INFO] [stdout]      |
[INFO] [stdout] 1100 |     pty_writer: Arc<Mutex<Box<dyn Write + Send>>>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pty_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/b3-cli/src/pty/manager.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let mut pty = PtyManager::spawn_command("echo", &["broadcast_test"], 24, 80)
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:184:5
[INFO] [stdout]     |
[INFO] [stdout] 184 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pty_writer`
[INFO] [stdout]     --> crates/b3-cli/src/bridge/puller.rs:1100:5
[INFO] [stdout]      |
[INFO] [stdout] 1100 |     pty_writer: Arc<Mutex<Box<dyn Write + Send>>>,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pty_writer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_pubkey`
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_pool.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let worker_pubkey: Option<[u8; 32]> = pubkey_b64.as_deref().and_then(|b64| {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_pubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_name`
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     my_name: &str,
[INFO] [stdout]     |     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worker_pubkey`
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_pool.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 351 |     let worker_pubkey: Option<[u8; 32]> = pubkey_b64.as_deref().and_then(|b64| {
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worker_pubkey`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `disconnect_reason` is never read
[INFO] [stdout]     --> crates/b3-cli/src/daemon/web.rs:2225:33
[INFO] [stdout]      |
[INFO] [stdout] 2225 |     let mut disconnect_reason = "unknown";
[INFO] [stdout]      |                                 ^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2230 |                 disconnect_reason = "transport_overflow";
[INFO] [stdout]      |                 ---------------------------------------- `disconnect_reason` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `disconnect_reason` is never read
[INFO] [stdout]     --> crates/b3-cli/src/daemon/web.rs:2225:33
[INFO] [stdout]      |
[INFO] [stdout] 2225 |     let mut disconnect_reason = "unknown";
[INFO] [stdout]      |                                 ^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 2230 |                 disconnect_reason = "transport_overflow";
[INFO] [stdout]      |                 ---------------------------------------- `disconnect_reason` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `authed_client` is never used
[INFO] [stdout]   --> crates/b3-cli/src/http.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn authed_client(api_key: &str, timeout: Duration) -> reqwest::Result<Client> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcRequest` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct JsonRpcRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcResponse` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct JsonRpcResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcError` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct JsonRpcError {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tool_definitions` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1169:4
[INFO] [stdout]      |
[INFO] [stdout] 1169 | fn tool_definitions() -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_response` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1300:4
[INFO] [stdout]      |
[INFO] [stdout] 1300 | fn make_response(id: Value, result: Value) -> JsonRpcResponse {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_error_response` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1309:4
[INFO] [stdout]      |
[INFO] [stdout] 1309 | fn make_error_response(id: Value, code: i32, message: &str) -> JsonRpcResponse {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1333:14
[INFO] [stdout]      |
[INFO] [stdout] 1333 | pub async fn run() -> anyhow::Result<()> {
[INFO] [stdout]      |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn` is never used
[INFO] [stdout]   --> crates/b3-cli/src/pty/manager.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl PtyManager {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn spawn(rows: u16, cols: u16) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inject_url` is never used
[INFO] [stdout]    --> crates/b3-cli/src/config.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl Config {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn inject_url(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `creator` is never read
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct RoomMeta {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 339 |     pub creator: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_room_meta` is never used
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn load_room_meta(room_id: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_gpu_url` is never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_client.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct GpuConfig {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 36 |     local_gpu_url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOCAL_TIMEOUT` is never used
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_client.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const LOCAL_TIMEOUT: Duration = Duration::from_secs(2);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cached_conditionals` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_client.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl GpuClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub async fn get_cached_conditionals(&self, voice: &str) -> Option<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_pool.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | enum WorkerCmd {
[INFO] [stdout]    |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `worker_id`, `capabilities`, and `version` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_pool.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct WorkerEntry {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 73 |     worker_id: WorkerId,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 74 |     category: WorkerCategory,
[INFO] [stdout] 75 |     capabilities: Value,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 76 |     version: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `best_worker_category` and `worker_count` are never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_pool.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl WorkerPool {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub async fn best_worker_category(&self) -> Option<WorkerCategory> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub async fn worker_count(&self) -> (usize, usize) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `latest` and `len` are never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/info_archive.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl InfoArchive {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn latest(&self) -> Option<InfoEntry> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `candidate` and `mid` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/rtc.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct IceCandidate {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 21 |     pub candidate: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |     pub mid: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ice_tx`, `task`, and `browser_session_id` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/rtc.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PeerEntry {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub ice_tx: tokio::sync::mpsc::Sender<IceCandidate>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |     pub task: tokio::task::JoinHandle<()>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 29 |     /// Browser session that owns this peer — used to abort old peer on reconnect.
[INFO] [stdout] 30 |     pub browser_session_id: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZES` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:282:7
[INFO] [stdout]     |
[INFO] [stdout] 282 | const CHUNK_SIZES: &[usize] = &[100, 200, 300, 400, 500];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_CHUNK_CHARS` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:283:7
[INFO] [stdout]     |
[INFO] [stdout] 283 | const MIN_CHUNK_CHARS: usize = 50;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_text` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn chunk_text(text: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_installed` is never used
[INFO] [stdout]   --> crates/b3-cli/src/service.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn is_installed() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcRequest` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct JsonRpcRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcResponse` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct JsonRpcResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JsonRpcError` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/mcp/session_memory.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | struct JsonRpcError {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tool_definitions` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1169:4
[INFO] [stdout]      |
[INFO] [stdout] 1169 | fn tool_definitions() -> Value {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_response` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1300:4
[INFO] [stdout]      |
[INFO] [stdout] 1300 | fn make_response(id: Value, result: Value) -> JsonRpcResponse {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_error_response` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1309:4
[INFO] [stdout]      |
[INFO] [stdout] 1309 | fn make_error_response(id: Value, code: i32, message: &str) -> JsonRpcResponse {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]     --> crates/b3-cli/src/mcp/session_memory.rs:1333:14
[INFO] [stdout]      |
[INFO] [stdout] 1333 | pub async fn run() -> anyhow::Result<()> {
[INFO] [stdout]      |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `spawn` is never used
[INFO] [stdout]   --> crates/b3-cli/src/pty/manager.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl PtyManager {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn spawn(rows: u16, cols: u16) -> anyhow::Result<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contents_str` is never used
[INFO] [stdout]     --> crates/b3-cli/src/bridge/puller.rs:1485:12
[INFO] [stdout]      |
[INFO] [stdout] 1478 |     impl SharedBuf {
[INFO] [stdout]      |     -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1485 |         fn contents_str(&self) -> String {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `inject_url` is never used
[INFO] [stdout]    --> crates/b3-cli/src/config.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl Config {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn inject_url(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `creator` is never read
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct RoomMeta {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 339 |     pub creator: String,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_room_meta` is never used
[INFO] [stdout]    --> crates/b3-cli/src/crypto/hive_integration.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn load_room_meta(room_id: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `local_gpu_url` is never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_client.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct GpuConfig {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] 36 |     local_gpu_url: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOCAL_TIMEOUT` is never used
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_client.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 55 | const LOCAL_TIMEOUT: Duration = Duration::from_secs(2);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_cached_conditionals` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_client.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl GpuClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub async fn get_cached_conditionals(&self, voice: &str) -> Option<String> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Shutdown` is never constructed
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_pool.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | enum WorkerCmd {
[INFO] [stdout]    |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 69 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `capabilities` and `version` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/gpu_pool.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct WorkerEntry {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 75 |     capabilities: Value,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 76 |     version: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `best_worker_category` and `worker_count` are never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_pool.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl WorkerPool {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub async fn best_worker_category(&self) -> Option<WorkerCategory> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub async fn worker_count(&self) -> (usize, usize) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mock_gpu_workers_server` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/gpu_pool.rs:697:14
[INFO] [stdout]     |
[INFO] [stdout] 697 |     async fn mock_gpu_workers_server(response_body: String) -> (SocketAddr, tokio::task::JoinHandle<()>) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `latest` and `len` are never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/info_archive.rs:126:18
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl InfoArchive {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub async fn latest(&self) -> Option<InfoEntry> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub async fn len(&self) -> usize {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `candidate` and `mid` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/rtc.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct IceCandidate {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 21 |     pub candidate: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 22 |     pub mid: String,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ice_tx`, `task`, and `browser_session_id` are never read
[INFO] [stdout]   --> crates/b3-cli/src/daemon/rtc.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct PeerEntry {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 27 |     pub ice_tx: tokio::sync::mpsc::Sender<IceCandidate>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 28 |     pub task: tokio::task::JoinHandle<()>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 29 |     /// Browser session that owns this peer — used to abort old peer on reconnect.
[INFO] [stdout] 30 |     pub browser_session_id: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHUNK_SIZES` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:282:7
[INFO] [stdout]     |
[INFO] [stdout] 282 | const CHUNK_SIZES: &[usize] = &[100, 200, 300, 400, 500];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MIN_CHUNK_CHARS` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:283:7
[INFO] [stdout]     |
[INFO] [stdout] 283 | const MIN_CHUNK_CHARS: usize = 50;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_text` is never used
[INFO] [stdout]    --> crates/b3-cli/src/daemon/web.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn chunk_text(text: &str) -> Vec<String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_installed` is never used
[INFO] [stdout]   --> crates/b3-cli/src/service.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn is_installed() -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324", kill_on_drop: false }`
[INFO] [stdout] cffbccd2653906d5af688f5b90848c966d7dea782f5b877f4cbb5a5d11c5b324
